<?php
/**
* 包装 post-commit.sh，提供 web 调用，用于安装到 svn 库的 post-commit HOOK
*/
ini_set('display_errors', 'on');
header('Content-type: text/plain');

// 验证参数格式，防止注入攻击
function verify($value, $pattern){
    if(!preg_match($pattern, $value)){
        echo "Invalid parameter: $value";
        exit;
    }
}

$repos = $_GET['repos'];
$rev   = $_GET['rev'];

verify($repos, '%^(/[\w\.\- ]+)+$%');
verify($rev, '/\d+/');

$cmd   = __DIR__."/post-commit.sh $repos $rev";

echo `sudo $cmd 2>&1`;


